package org.unisinos.gc.form;


import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.unisinos.gc.vo.Area;
import org.unisinos.gc.vo.Congresso;

public class CongressoForm extends ActionForm {

	private static final long	serialVersionUID	= 1L;
	private String					titulo;
	private String					local;
	private String					inicioSubmissao;
	private String					fimSubmissao;
	private String					inicioAvaliacao;
	private String					fimAvaliacao;
	private String					inicioInscricao;
	private String					fimInscricao;
	private String					inicioCongresso;
	private String					fimCongresso;
	private String					qtdeArtigosProrrogado;
	private String					id;
	private String					idArea;
	private Integer[]					idAreaList;

	private List<Area>			areas;

	public Integer[] getIdAreaList() {
		return idAreaList;
	}

	public void setIdAreaList(Integer[] idAreaList) {
		this.idAreaList = idAreaList;
	}

	public String getIdArea() {
		return idArea;
	}

	public void setIdArea(String idArea) {
		this.idArea = idArea;
	}

	public List<Area> getAreas() {
		return areas;
	}

	public void setAreas(List<Area> areas) {
		this.areas = areas;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getLocal() {
		return local;
	}

	public void setLocal(String local) {
		this.local = local;
	}

	public String getInicioSubmissao() {
		return inicioSubmissao;
	}

	public void setInicioSubmissao(String inicioSubmissao) {
		this.inicioSubmissao = inicioSubmissao;
	}

	public String getFimSubmissao() {
		return fimSubmissao;
	}

	public void setFimSubmissao(String fimSubmissao) {
		this.fimSubmissao = fimSubmissao;
	}

	public String getInicioAvaliacao() {
		return inicioAvaliacao;
	}

	public void setInicioAvaliacao(String inicioAvaliacao) {
		this.inicioAvaliacao = inicioAvaliacao;
	}

	public String getFimAvaliacao() {
		return fimAvaliacao;
	}

	public void setFimAvaliacao(String fimAvaliacao) {
		this.fimAvaliacao = fimAvaliacao;
	}

	public String getInicioInscricao() {
		return inicioInscricao;
	}

	public void setInicioInscricao(String inicioInscricao) {
		this.inicioInscricao = inicioInscricao;
	}

	public String getFimInscricao() {
		return fimInscricao;
	}

	public void setFimInscricao(String fimInscricao) {
		this.fimInscricao = fimInscricao;
	}

	public String getInicioCongresso() {
		return inicioCongresso;
	}

	public void setInicioCongresso(String inicioCongresso) {
		this.inicioCongresso = inicioCongresso;
	}

	public String getFimCongresso() {
		return fimCongresso;
	}

	public void setFimCongresso(String fimCongresso) {
		this.fimCongresso = fimCongresso;
	}

	public String getQtdeArtigosProrrogado() {
		return qtdeArtigosProrrogado;
	}

	public void setQtdeArtigosProrrogado(String qtdeArtigosProrrogado) {
		this.qtdeArtigosProrrogado = qtdeArtigosProrrogado;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void parseCongresso(Congresso congresso) {
		this.titulo = congresso.getTitulo();
		this.local = congresso.getLocal();
		this.inicioSubmissao = congresso.getInicioSubmissao();
		this.fimSubmissao = congresso.getFimSubmissao();
		this.inicioAvaliacao = congresso.getInicioAvaliacao();
		this.fimAvaliacao = congresso.getFimAvaliacao();
		this.inicioInscricao = congresso.getInicioInscricao();
		this.fimInscricao = congresso.getFimInscricao();
		this.inicioCongresso = congresso.getInicioCongresso();
		this.fimCongresso = congresso.getFimCongresso();
		this.qtdeArtigosProrrogado = String.valueOf(congresso.getQtdeArtigosProrrogado());
		this.id = String.valueOf(congresso.getId());
	}

	public Congresso toCongresso() {
		int qtde = 0;
		int iden = 0;
		if (StringUtils.isNotEmpty(qtdeArtigosProrrogado)) {
			qtde = Integer.parseInt(qtdeArtigosProrrogado);
		}
		if (StringUtils.isNotEmpty(id)) {
			iden = Integer.parseInt(id);
		}
		return new Congresso(titulo, local, inicioSubmissao, fimSubmissao, inicioAvaliacao, fimAvaliacao, inicioInscricao, fimInscricao, inicioCongresso, fimCongresso, qtde, iden);
	}

	@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		super.reset(mapping, request);
		this.titulo = "";
		this.local = "";
		this.inicioSubmissao = "";
		this.fimSubmissao = "";
		this.inicioAvaliacao = "";
		this.fimAvaliacao = "";
		this.inicioInscricao = "";
		this.fimInscricao = "";
		this.inicioCongresso = "";
		this.fimCongresso = "";
		this.qtdeArtigosProrrogado = "";
		this.id = "";
		this.idArea = "";
		this.idAreaList = new Integer[1];
	}

}
